<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>

        // ...

        //   展开运算符 ， 展开对象中的值
        //      1 数组或者对象的深复制 --- 一维
        //      2 展开运算符只会展开一层
        //      3 展开很多个，新增一些值
        //      4 接受实参列表   --- 箭头函数不能识别arguments

        const arr = [1,2,3,4 , [5,6]] ;
        // console.log(arr[0],arr[1],arr[2],arr[3]);
        console.log(...arr);

        // 浅复制   地址
        // const arr2 = arr; 


        // 深复制   遍历  push
        
        // 实现数组的深复制
        const arr2 = [...arr];

        arr[4].push(7) ;

        console.log(arr2 , arr);


        const obj = {
            name : 'cc' ,
            age : 18 
        }

        // console.log(...obj);   // 对象不能直接展开
        

        const obj2 = {...obj , sex : "女"} ;
        console.log(obj2);




        const arr3 = [1,2,3] ;
        const arr4 = [4,5,6] ;
        const arr5 = [...arr3 , ...arr4 , 8 , 9] ;
        console.log(arr5);



    </script>
    
</body>
</html>